The present invention relates to a semiconductor device, an image processing system, and a program, and specifically relates to a semiconductor device, an image processing system, and a program which adjust at least one of luminance, hue, and saturation.
In recent years, various image processing technologies are employed for realizing a high-quality image. One of the examples of the image processing technologies is a 6-axis color control. The 6-axis color control is a technology which adjusts luminance, hue, and saturation in each of six axes of Red, Green, and Blue as the three primary colors and Yellow, Cyan, and Magenta as the neutral colors. Applications of the 6-axis color control include generally the following two: (1) color gamut mapping and (2) image quality setting.
The color gamut mapping ((1) cited above) is a technology employed in the so-called color management. Generally, even when the same object is displayed, the colors reproduced will be different between devices, such as between different monitors or between a monitor and a printer, because the color reproduction characteristic of each device is different. Therefore, it may be difficult to decide the output color of which device as the standard color. The color management is the technology to bring the color reproduced by all devices close to a desired color as the standard, so that even if an arbitrary object is seen and identified by any device, it looks like almost the same color. The technology of matching the reproduced color of a target device to a color as the standard is called color gamut mapping. Devices, such as a monitor and a printer, generate various colors by additive color mixing or subtractive color mixing. Therefore, when the reproduced color of a color (Red, Green, Blue, Yellow, Cyan, and Magenta) which becomes the source of the colors to be generated is matched between devices (between different monitors or between a monitor and a printer, etc.), all colors will match for the most part in the entire area of the reproduced colors. The present method (color matching between plural devices) can be realized only by adjusting luminance, hue, and saturation of the six axes (colors) described above. Therefore, the 6-axis color control is employed as the simplest technique of hue mapping.
The image quality setting ((2) cited above) is employed in the same way as adjustment items, such as contrast, brightness, color, tint, white balance, and a gamma characteristic, which are parameters of general image adjustments. Specifically, the 6-axis color control is employed as an auxiliary tool in the image quality setting called liking of an end user or image reproduction of picture-related equipment manufacturers.
Hereinafter, the disclosed technology regarding the 6-axis color control is explained. Patent Literature 1 discloses a color signal conversion device which adjusts the delicate color tone and color depth for a color image displayed by use of an RGB color signal. The color signal conversion device according to Patent Literature 1 calculates a chromatic color signal and an achromatic color signal from an input RGB color signal. Then, the color signal conversion device calculates a hue basic area from the calculated chromatic color signal by dividing a hue coordinate system into six. The color signal conversion device converts the chromatic color signal in each hue basic area, so as to obtain a target color, and calculates an output color signal by use of the achromatic color signal before the conversion and the chromatic color signal after the conversion.
Patent Literature 2 discloses a technology to avoid a color from being adjusted to an area outside an RGB color space in adjustment of saturation and hue by use of the color difference signals (Cb/Cr). In detail, a color adjustment device according to Patent Literature 2 calculates a boundary value of the saturation component (Cb/Cr) corresponding to each input signal level, and normalizes the entire YCbCr color space by use of the boundary value. Then, the color adjustment device concerned adjusts saturation and hue in each arbitrary color area in the normalized YCbCr color space. Accordingly, it is realized that only a desired color component is adjusted.
By the way, in implementing the 6-axis color control by use of hardware, there are mainly two realization methods by means of (1) a dedicated circuit and (2) a three-dimensional look-up table.
In execution of the 6-axis color control by means of a dedicated circuit ((1) cited above), a circuit which is specialized in the 6-axis color control compensates luminance, hue, and saturation of the six axes (colors). Therefore, the color characteristic reproduced will be restricted only to the characteristics of arithmetic processing of the dedicated circuit. Furthermore, it is difficult for the dedicated circuit to perform processing other than the 6-axis color control. That is to say, the processing which can be realized by the present dedicated circuit is restricted to the 6-axis color control. Therefore, it becomes necessary to separately provide a circuit for realizing other functions; accordingly, there arises an issue of increase of a circuit scale.
Next, the following explains the 6-axis color control by means of a three-dimensional look-up table ((2) cited above). The information of the three-dimensional look-up table is stored in an arbitrary memory. The three-dimensional look-up table holds the table data corresponding to coordinate points, such as 9×9×9 or 17×17×17, which express the RGB color space. FIG. 21 illustrates an RGB color space including coordinate points of 9×9×9. In the following explanation with reference to FIG. 21, it is defined that the minimum value of the RGB color space is 0, and the maximum value is 256. In this connection, since the range of value which an 8-bit value can take is 0-255, a coordinate point which has a value greater than 255 is adjusted so as to fit in the range of 0-255.
The three-dimensional look-up table stores correspondence of the coordinates of each point in the RGB color space and the coordinates of a conversion destination (after adjustment) of the coordinates concerned. For example, in cases where the three-dimensional look-up table has table data corresponding to the coordinate points of 17×17×17, RGB coordinates (0, 0, 0) and RGB coordinates of the conversion destination thereof, RGB coordinates (16, 16, 16) and RGB coordinates of the conversion destination thereof, etc. are stored, respectively. Generally, each point stored in the three-dimensional look-up table is arranged at equal intervals (for example, an R value (or a G value or a B value) of each point is set at 0, 16, 32, 48, . . . , 256). Then, an arbitrary processing unit refers to the three-dimensional look-up table and calculates the coordinates of a conversion destination by various kinds of interpolation processing by use of coordinates which exist in the color space. For example, the processing unit concerned calculates the conversion destination coordinates of RGB coordinates (8, 8, 8) with reference to the conversion destination coordinates of RGB coordinates (0, 0, 0) and the conversion destination coordinates of RGB coordinates (16, 16, 16). That is, the processing unit concerned calculates the conversion destination coordinates of RGB coordinates (8, 8, 8), with reference to the conversion destination coordinates of 8 points of RGB coordinates (0, 0, 0), (16, 0, 0), (0, 16, 0), (0, 0, 16), (16, 16, 0), (16, 0, 16), (0, 16, 16), and (16, 16, 16).
As described above, the three-dimensional look-up table only holds table data and does not have any function. However, depending on a setup of the table data, it is possible to realize various color management functions, such as a 6-axis color control, a memory color correction, and a gamma correction. It is possible to realize these functions by changing the table data (data of the conversion original coordinates and data of the conversion destination coordinates) in the three-dimensional look-up table. Furthermore, it also becomes possible to realize various color management functions concurrently, by the setup of the table data in the three-dimensional look-up table. For example, it is possible to store the conversion destination coordinates in the three-dimensional look-up table, in the case of performing the 6-axis color control after performing memory color correction to a color indicated by the coordinates of each point. Furthermore, the picture signal processing performed by referring to the three-dimensional look-up table can be realized by hardware; accordingly it is possible to realize high-speed processing.
In this way, the image processing using a three-dimensional look-up table has an absolutely high degree of freedom compared with the case where a dedicated circuit is provided. In detail, the image processing using a three-dimensional look-up table can realize plural functions easily, and at the same time, can secure a processing speed and processing accuracy sufficiently. Therefore, it is possible to provide many cost advantages such as reduction of development resources and downsizing of a circuit scale, and to realize improvement in usability. Moreover, only by replacing table data, it is possible to improve efficiency and to correct a defective condition.
The technology disclosed by Patent Literature 1 and Patent Literature 2 is not the technology which employs a three-dimensional look-up table. Therefore, if the device is materialized by hardware, there arises an issue of increase of a circuit scale. On the other hand, when the device is realized by software, there arises an issue of a long processing time. In particular, when processing an image with large data size, such as a Hi-Vision image (1920×1080), the issue of the processing time becomes serious.